package com.fan.service.Impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fan.entity.PayLog;
import com.fan.service.PayService;
import com.fan.utils.CommonResults;
import com.fan.vo.CourseDetailsVo;
import com.sixth.until.CommonResult;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

/**
 * @program: self-tui-education
 * @description:
 * @author: 老范
 * @create: 2022-05-09 18:17
 **/
@Service
public class PayServiceImpl implements PayService {
//    @Override
//    public CommonResults getStatus(String orderNo) {
//        //1.查询订单的支付状态。
//        Map<String, String> payStatus = getPayStatus(orderNo);
//        PayLog payLog=new PayLog();
//        if(payStatus==null){
//            //支付失败
//
//
//            return new CommonResult(5000,"支付失败",null);
//        }else if(StringUtils.equals(payStatus.get("trade_state"),"SUCCESS")){//2.已支付
//            //2.1 添加支付记录t_pay_log
//
//            QueryWrapper<PayLog> payLogWrapper = new QueryWrapper<>();
//            payLogWrapper.eq("order_no",orderNo);
//
//            payLog.setTotalFee(new BigDecimal(payStatus.get("total_fee")));
//            payLog.setTransactionId(payStatus.get("transaction_id"));
//            payLog.setTradeState("SUCCESS");
//            payLog.setGmtCreate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
//            payLog.setGmtModified(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
//
//            payLogService.update(payLog,payLogWrapper);
//            //2.2 修改订单的状态 未支付--->已支付
//            updatePayStatus(orderNo,1);
////            查询当前的订单
//            QueryWrapper<Order> wrapper = new QueryWrapper<>();
//            wrapper.eq("order_no",orderNo);
//            Order order = orderDao.selectOne(wrapper);
////            根据课程id查询课程消息,更改课程数量
//            CourseDetailsVo queryCourse = courseDao.queryAllCourseAndTeacherName(order.getCourseId());
////            System.out.println("课程id"+queryCourse.getId());
////            进行更改
//            Course course = new Course();
//            Long buyCount = queryCourse.getBuyCount()+1;
//            course.setBuyCount(buyCount);
//            course.setId(order.getCourseId());
//            int i = courseDao.updateById(course);
////            System.out.println("更新成功了嘛"+i);
//
//
//            return new CommonResult(2000,"支付成功",payStatus);
//        }else{
//            //3.正在支付中
//            return new CommonResult(3000,"支付中",null);
//        }
//    }
}
